<?php

namespace app\Goods\controller;

use think\Controller;
use think\Request;
use app\Goods\model\Goods as GoodsModel;
use think\Db;
class Goods extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        //查询商品所有信息
        $goodsData =  GoodsModel::with('cate,brand,logo')->paginate(2);
        //渲染视图
        return view('show/show',compact('goodsData'));
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //查询出商品一条数据
        $oneData = GoodsModel::with('cate,brand,logo')->find($id);
        //渲染视图
        return view('one/one',compact('oneData'));
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //查询出要删除的上\下架状态
        $goods_top = input('goods_top');
      
        //判断如果上架不能删除
        if ($goods_top == 1) {
            $this->error('商品已上架，不能删除！');
        }
        //走正常删除
        // 启动事务
        Db::startTrans();
        try{
            //执行删除   
            GoodsModel::where('id',$id)->delete();
            // 提交事务
            Db::commit();    
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
        }

        $this->redirect('index');

        
    }
}
